iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 16
0
自我挑戰組

ArasPLM開發分享系列 第 16

[Day16]MVC紀錄Log並寫入文字檔中(.txt)

  • 分享至 

  • xImage
  •  

今天介紹的是如何在MVC中記錄Log,把檔名依照當前時間來命名並將Log寫入文字檔中(.txt)儲存至本地的資料夾

Class

  1. 首先先建立一個Log的Class,引數的部分由Controllers傳入要寫入的Log訊息以及要存放的路徑
public class ErrorLog
{   
    //新增log的txt檔,並將錯誤訊息寫入,存進資料夾中
    public  void Log(string error_message,string log_path)
    {
        string full_log_path = log_path + ".txt";
        if (!File.Exists(full_log_path))
        {
            using (StreamWriter sw = File.CreateText(full_log_path))
            {
                sw.WriteLine(error_message);
            }
        }
    }
}

Controller

  1. 接著在Controller的Action中建立剛剛的Class物件,"[LogPath]"這個參數跟之前有提過的一樣要到Web.config中多新增一個路徑位置,接下來把得到的路徑改為當前的日期,與抓取的log訊息一併寫入方法的引數當中,Log訊息可以利用if判斷式或是try catch將一些紀錄與例外錯誤寫成字串加入進來


//將錯誤訊息錯誤訊息寫入log的txt檔中
ErrorLog error_log = new ErrorLog();
string logSavedPath = WebConfigurationManager.AppSettings["LogPath"];

string newFileName = string.Concat(
DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss"));

log_path = Path.Combine(Server.MapPath(logSavedPath), newFileName);
error_log.Log(error_message,log_path);
  1. 執行後就可以在剛剛設定路徑下的資料夾看到一個檔名為當前日期的log文字檔,內容為記錄錯誤訊息的Log


上一篇
[Day15]MVC利用ColseXML讀取/寫入Excel內的資料
下一篇
[Day17]MVC Tuple的使用
系列文
ArasPLM開發分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言